Checking revocation status of a biometric reference template

ABSTRACT

A method and system for checking a revocation status of a biometric reference template previously generated for an individual. A hash value of the biometric reference template is computed. A reference template revocation object for the biometric reference template is created, which includes inserting into the reference template revocation object: (i) a location for checking the revocation status of the biometric reference template and (ii) a unique biometric reference template identifier that uniquely identifies the biometric reference template. The revocation status of the biometric reference template is ascertained through use of the reference template revocation object. The ascertained revocation status of the biometric reference template is returned to a relying party that had requested the status of the biometric reference template.

This application is a continuation application claiming priority to Ser.No. 12/370,334, filed Feb. 12, 2009. FIELD OF THE INVENTION

The present invention relates to computer systems and software, and morespecifically to a technique for use in checking revocation status of abiometric reference template to ensure that the biometric referencetemplate is still valid, while protecting the privacy of the user orindividual.

BACKGROUND OF THE INVENTION

To determine if a biometric reference template has been revoked, arelying party must check its revocation status to ensure that thetemplate is still valid, even though its validity period has not yetexpired. Not checking the revocation status of a biometric referencetemplate exposes a relying party to risk of accepting as a validtemplate, a template that has been revoked by the template issuer.However, checking the revocation status of a biometric referencetemplate can reveal the identity of the biometric reference templateholder. As such, there is a need to provide an efficient mechanism foruse in checking the revocation status of a biometric reference template,while preserving privacy of the individual whose biometric data iscontained on a biometric reference template, referred to as a “templateholder”.

SUMMARY OF THE INVENTION

The present invention resides in a system, method and program productfor use in checking revocation status of a biometric reference templateto ensure that the biometric reference template is still valid, whileprotecting the privacy of the user or individual, in accordance with anembodiment of the invention. The method for checking revocation statusof a biometric reference template includes creating a reference templaterevocation object for a biometric reference template generated for anindividual, the reference template revocation object containing a firstset of plaintext data providing a location for checking revocationstatus of the biometric reference template and containing ciphertextdata corresponding to a second set of plaintext data identifying theunique biometric reference template identifier and a hash of thebiometric reference template, providing the reference templaterevocation object created to a relying party requesting revocationstatus of the biometric reference template and sending a request to anissuer of the biometric reference template for checking the revocationstatus of the biometric reference template, without revealing identityof the individual. The method further includes returning results of therevocation status check for the biometric reference template to therelying party. In an embodiment, the creating step further includesgenerating the biometric reference template having a unique biometricreference template identifier assigned thereto that uniquely identifiesbiometric data processed from a sample collected for the individual. Inan embodiment, the creating step further includes adding a random valueto the second set of plaintext data to be ciphered to create theciphertext data for the template revocation object and injecting thereference template revocation object created into a security tokendevice issued to the individual, where the random value added to thesecond set of plaintext data produces a different calculated encryptedvalue each time the template revocation object is encrypted. In anembodiment, the sending step further includes deciphering, using acryptographic key in sole possession of the issuer, the ciphertext datato obtain the unique biometric reference template identifier and thehash of the biometric reference template for checking revocation statusof the biometric reference template, where the identity of theindividual is not revealed. In an embodiment, the first set of plaintextdata includes at least one of: a URI (Uniform Resource Identifier) or aUUID (Universally Unique Identifier).

In another aspect, the invention provides a system for checkingrevocation status of a biometric reference template. The system includesa biometric application for creating a biometric reference templatehaving a unique biometric reference template identifier that uniquelyidentifies a biometric sample collected from an individual, a revocationstatus tool for creating a reference template revocation objectassociated with the biometric reference template for checking revocationstatus of the biometric reference template without revealing the uniquebiometric reference template identifier, the reference templaterevocation object containing a first set of plaintext data providing alocation for checking the revocation status of the biometric referencetemplate and containing ciphertext data containing a second set ofplaintext data identifying the unique biometric reference templateidentifier and a hash of the biometric reference template, anauthentication tool for enciphering, using a cryptographic key in solepossession of an issuer of the biometric reference template, the secondset of plaintext data contained in the reference template revocationobject to form the ciphertext data identifying the unique biometricreference template and the hash of the biometric reference template andfor deciphering the ciphertext data for checking revocation status ofthe biometric reference template without revealing identity of theindividual and a reader device for reading the revocation status of thebiometric reference template and for communicating the revocation statusread for the biometric reference template to a relying party. The systemfurther includes a security token device dispensed to the individualcorresponding to the biometric reference template, where the securitytoken device securely stores the reference template revocation objectcreated therein. In an embodiment, the security token device furtherincludes an encryption key for encrypting the reference templaterevocation object and

a signature key for signing the reference template revocation object. Inan embodiment, the template revocation object further includes a randomvalue added to the ciphertext data contained in the template revocationobject to scramble a calculated encrypted value of the ciphertext dataduring authentication. In an embodiment, the authentication toolverifies the signature associated with the template revocation objectcreated for the biometric reference template. The system furtherincludes an identification tool for assigning the unique biometricreference template identifier for uniquely identifying the biometricreference template. In an embodiment, the signed reference templaterevocation object is provided to the relying party for checkingrevocation status of the biometric reference template, without revealingthe identity of the individual. In an embodiment, the plaintext dataincludes at least one of: a URI (Uniform Resource Identifier) or a UUID(Universally Unique Identifier).

In yet another aspect, the invention provides a computer program productfor checking revocation status of a biometric reference template. Thecomputer program product includes a computer readable storage medium,first program instructions to create a reference template revocationobject for a biometric reference template generated for an individual,the reference template revocation object containing a first set ofplaintext data providing a location for checking revocation status ofthe biometric reference template and containing ciphertext datacorresponding to a second set of plaintext data identifying the uniquebiometric reference template identifier and a hash of the biometricreference template, second program instructions to inject the referencetemplate revocation object created into a security token device andthird program instructions to access the location for checkingrevocation status of the biometric reference template without revealingthe unique biometric reference template identifier assigned to thebiometric reference template generated for the individual, where theciphertext data may only be recovered by an issuer of the biometricreference template in possession of a cryptographic key. In anembodiment, each of the first, second and third program instructions arerecorded on the computer readable storage medium for execution by thecentral processing unit. The computer program product further includesfourth program instructions to add a random value to the ciphertext datacontained in the template revocation object to obtain a differentcalculated encrypted value during authentication, where the fourthprogram instructions are stored on the computer readable storage mediumfor execution by the central processing unit. In an embodiment, thefirst program instructions include instructions to generate a biometricreference template having the unique biometric reference templateidentifier assigned thereto that uniquely identifies biometric dataprocessed from a sample collected for the individual. In an embodiment,the ciphertext data is decrypted, using the cryptographic key in solepossession of the issuer, to recover the unique biometric referencetemplate identifier and the hash of the biometric reference template,without revealing identity of the individual. In an embodiment, theplaintext data includes at least one of: a URI (Uniform ResourceIdentifier) or a UUID (Universally Unique Identifier). In an embodiment,the third program instructions include instructions to utilize theunique biometric reference template identifier and the hash of thebiometric reference template for identifying and locating the biometricreference template whose revocation status is to be checked and toreturn results of checking the revocation status of the biometricreference template to a relying party.

Further, in another aspect, the invention provides a process fordeploying computing infrastructure includes integratingcomputer-readable code into a computing system, where the code incombination with the computing system is capable of performing a processfor checking revocation status of a biometric reference template. Theprocess includes generating a biometric reference template having aunique biometric reference template identifier assigned thereto thatuniquely identifies biometric data processed from a sample collected foran individual, creating a reference template revocation object for abiometric reference template generated for an individual, the referencetemplate revocation object containing a first set of plaintext dataproviding a location for checking revocation status of the biometricreference template and containing ciphertext data corresponding to asecond set of plaintext data identifying the unique biometric referencetemplate identifier and a hash of the biometric reference template.Further, the process includes providing the reference templaterevocation object created to a relying party requesting revocationstatus of the biometric reference template and sending a request to anissuer of the biometric reference template for checking the revocationstatus of the biometric reference template, without revealing identityof the individual. In an embodiment, the providing step further includesadding a random value to the ciphertext data contained in the templaterevocation object to obtain a different calculated encrypted valueduring authentication. In an embodiment, the sending step furtherincludes utilizing the unique biometric reference template identifierand the hash of the biometric reference template for identifying andlocating the biometric reference template whose revocation status is tobe checked and returning results of checking the revocation status ofthe biometric reference template to a relying party. In an embodiment,the ciphertext data is encrypted using a cryptographic key chosen by andknown only to the issuer of the biometric reference template and wherethe ciphertext data is decrypted using the cryptographic key forrecovering the unique biometric reference template identifier and thehash of the biometric reference template. In an embodiment, theplaintext data includes at least one of: a URI (Uniform ResourceIdentifier) or a UUID (Universally Unique Identifier).

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthis specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention:

FIG. 1 is a block diagram depicting an embodiment of a computerinfrastructure for use in checking the revocation status of a biometricreference template, in accordance with an embodiment of the presentinvention.

FIG. 2 is a block diagram depicting an embodiment of a computer systemfor generating an embodiment of a reference template revocation objectthat is injected into a security token device for use in checking therevocation status of a biometric reference template, in accordance withan embodiment of the present invention.

FIG. 3 is a block diagram depicting an embodiment of a computer systemfor generating another embodiment of a reference template revocationobject that is injected into a security token device for use in checkingthe revocation status of a biometric reference template, in accordancewith an embodiment of the present invention.

FIGS. 4A and 4B depict respective block diagrams of an embodiment of areference template revocation object that is injected into a securitytoken device issued to an individual or user by a biometric referencetemplate provider or issuer for facilitating the process of checking therevocation status of a biometric reference template, in accordance withan embodiment of the present invention.

FIG. 5 depicts a flowchart outlining the steps for creating a biometricreference template from a biometric sample collected from a user orindividual, in accordance with an embodiment of the present invention.

FIG. 6 depicts a flowchart outlining the steps for creating a signedreference template revocation object for use in checking the revocationstatus of a biometric reference template, in accordance with anembodiment of the present invention.

FIG. 7 depicts a flowchart outlining the steps for use in checking therevocation status of a biometric reference template, using a referencetemplate revocation object created for the biometric reference template,in accordance with an embodiment of the present invention.

FIGS. 8A-8C together depict an embodiment for defining a referencetemplate revocation object, in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

Moreover, the described features, structures, or characteristics of theinvention may be combined in any suitable manner in one or moreembodiments. It will be apparent to those skilled in the art thatvarious modifications and variations can be made to the presentinvention without departing from the spirit and scope of the invention.Thus, it is intended that the present invention cover the modificationsand variations of this invention provided they come within the scope ofthe appended claims and their equivalents. Reference will now be made indetail to the preferred embodiments of the invention.

In one embodiment, the invention provides a computer infrastructure 100that includes a computer system 102 having a revocation status tool foruse in checking the revocation status of a biometric reference template,in accordance with an embodiment of the invention. In an embodiment, asdepicted in FIG. 1, computer system or server 102 is intended torepresent any type of computer system that is maintained in a secureenvironment, that is, for which access control is enforced (asrepresented by the dotted lines indicated by reference numeral 101).Referring to FIG. 1, the computer system or server 102 is shown toinclude a CPU (Central CPU) 106, a memory 112, a bus 110, andinput/output (I/O) interfaces 108. Further, the server 102 is shown incommunication with external I/O devices/resources 126 and database 120.In general, CPU 106 executes computer program code stored in memory 112,such as the biometric application 114 for processing biometric datacontained in a biometric sample 132. Further, the memory 112 has arevocation status tool 115 stored thereon for use in checking therevocation status of a biometric reference template, as discussedfurther herein below with respect to FIGS. 2, 3, 4A and 4B. In addition,the memory 112 has stored or loaded thereon an attribute tool 116 forcreating or defining one or more attributes to be included in thebiometric reference template (also referred to herein as simply“biometric reference template” or “reference template” or “basetemplate” or “base reference template”) that is created using anindividual's biometric sample 132. Further, memory 112 stores anauthentication tool 118 for signing respective biometric referencetemplates and/or attributes associated with the respective biometricreference templates. In an embodiment, the one or more biometricreference templates 140 that are created using a biometric sample 132collected from an individual are stored in the database 120 (shown asreference numeral 124) within computer system or server 102. In anembodiment, one or more unique identifier(s) 122, for instance, templateidentifiers that uniquely identify respective biometric referencetemplates 124 are also stored in database 120. Further, in anembodiment, unique privacy policy identifiers that uniquely identifyrespective privacy policies that are associated with respectivebiometric reference templates 124 may be also stored in database 120.Further, in an embodiment, any biometric data 128 and/or informationprocessed by the biometric sensor or reader device 134 are transmittedto the computer system or server 102 for storage in database 120. Inparticular, as shown in FIG. 1, a user or individual provides abiometric sample 132 using a biometric sensor or a biometric reader orscanning device 134 coupled to the computer system 102 via network 130.In an embodiment, the biometric sensor or reader or scanner 134 convertsthe scanned user biometric sample 132 to a digital form using thebiometric application 114 deployed on the computer system 102. In anembodiment, the biometric application 114 deployed on the computersystem 102 is loaded into memory 112 of the computer system 102 from acomputer readable storage medium or media (reference numeral 125), suchas, a magnetic tape or disk, optical media, DVD, memory stick,semiconductor memory, etc. or downloaded from the server via a networkadapter card (reference numerals 104) installed on the computer systemor server 102. In an embodiment, the CPU 106 executes the biometricapplication 114 loaded in memory 112 of computer system 102 to takecontrol of and use the sensor or reader device 134. Similarly, the CPU106 executes the revocation status tool 115 loaded in memory 112 ofcomputer system 102 to take control of and use the sensor or readerdevice 134. Additionally, the CPU 106 executes the attribute tool 116and authentication tool 18 loaded in memory 112 of computer system 102to take control of and use the sensor or reader device 134. Inparticular, the biometric application 114 loaded into the computersystem 102 is executed to take control of the biometric sensor or readerdevice 134 for processing the biometric sample 132 collected from aperson or an individual or user into biometric data 139. In analternative embodiment (as shown in FIG. 1), an instance 135 of thebiometric application 114 deployed on the computer system 102 is loadedinto the sensor or reader device 134 within the biometric infrastructure100 from a computer readable storage medium or media (reference numeral150), such as, a magnetic tape or disk, optical media, DVD, memorystick, semiconductor memory, etc. or downloaded from the server via anetwork adapter card (reference numerals 104) installed on the computersystem or server 102. Similarly, an instance 136 of the revocationstatus tool 115 is stored on the sensor or reader 134. Additionally, aninstance 137 of the attribute tool 116 and an instance 138 of theauthentication tool 118 is loaded into the sensor or reader device 134within the biometric infrastructure 100 from a computer readable storagemedium or media (reference numeral 150), such as, a magnetic tape ordisk, optical media, DVD, memory stick, semiconductor memory, etc. ordownloaded from the server via a network adapter card (referencenumerals 104) installed on the computer system or server 102. Inparticular, the instance 135 of the biometric application 114 loadedinto the biometric sensor or reader device 134 is used to process thebiometric sample 132 collected from a person or an individual or userinto biometric data 139, which, in an embodiment, is stored within thebiometric sensor or reader device 134. Further, in an embodiment, thebiometric data 139 processed from the biometric sample 132 is storedwithin the biometric sensor or reader device 134. Further, the biometricdata 139 processed by the sensor or reader device 134 is used to createan information object, namely, a biometric reference template 140. In anembodiment, the computer system 102 uses the attribute tool or program116 for creating one or more attributes to be associated with orattached to the biometric reference template 140. Further, the computersystem 102 uses the authentication tool or program 118 for signing abiometric reference template that is created. Further, theauthentication tool 118 is used to sign any attributes that areassociated with and/or included in the biometric reference template 140.Additionally, the authentication tool 118 is used to sign a respectivebiometric reference template that is created, shown by the dotted“signature” outline (reference numeral 148) at the bottom of FIG. 1. Inan embodiment, the base biometric reference template 140 created isassigned a unique biometric reference template identifier 142 (alsoreferred to herein simply as “template identifier”) for uniquelyidentifying the biometric reference template 140 created using aperson's biometric data 139 that is processed from the person'sbiometric sample 132. In an embodiment, the unique base templateidentifier 142 is created in the form of an information objectidentifier (OID) as defined in ISO/IEC 8824-1 and ISO/IEC 9834- 8 , auniversally unique identifier (UUID) as defined in ISO/IEC 9834-8, or auniform resource identifier (URI) as defined in RFC 2396. Further, in anembodiment, the biometric data 139 that is processed using a biometricsample 132 provided by an individual is associated with the basebiometric reference template 140 and is included in the biometricreference template 140 itself, shown as base biometric data 146. In anembodiment, the biometric data 146 stored within the biometric referencetemplate 140 is encrypted or protected in some manner, such as signingthe entire biometric reference template 140, as discussed further hereinbelow. The digital signature (reference numeral 148) for the biometricreference template 140 is shown in dotted lines to imply that thesignature 148 is detached from the biometric reference template 140.However, in an alternative embodiment, the signature 148 may be attachedto the biometric reference template 140 itself. In an embodiment, thebiometric reference template 140 includes an identifier component“biometric type indicator” (reference numeral 144) that provides anindication of the type of biometric data used to create the biometricreference template, for example, a fingerprint, iris or retinal scan,etc. Further, the biometric reference template 140 may include otherattributes, such as a privacy policy attribute, which includes a uniqueprivacy policy identifier that identifies a privacy policy that isassociated with the biometric reference template 140, such that, theprivacy policy informs a recipient of the intended and proper handlingand use of the information contained in the biometric reference template140. In an embodiment, the base biometric reference template 140 that iscreated using a biometric sample 132 provided by a user is stored in abiometric database 120 within the computer system 102 along with otherbase biometric reference templates 128 created for other users orindividuals within the computer system. In an embodiment, each of thebase biometric data contained in the biometric reference templates 124stored within database 120 within the computer system 102 is encryptedto protect the identities of the individuals that the biometricreference templates 128 belong to. Further, in an embodiment, each ofthe base biometric reference templates 124 is signed with a digitalsignature before being stored in the database 120, and the digitalsignature(s) (reference numeral 126) are also stored in database 120. Inan embodiment, a RSA digital signature scheme is used to sign thebiometric reference template, such that, the digital signature providesintegrity protection and origin authenticity over the entire biometricreference template 140. As such, a digital signature can be used todetect if any of the biometric reference template information has beentampered with. In particular, the act of digitally signing the entirebiometric reference template cryptographically binds every componentwithin the biometric reference template together. Further, if thebiometric reference template contains any attributes, then suchattributes are also cryptographically bound to the biometric referencetemplate. In an embodiment, to form a digital signature on aninformation object, such as, a biometric reference template, acryptographic hash (also referred to herein as “encrypted hash” or “hashvalue” or simply “hash”) is computed over the entire object or biometricreference template and then the hash is signed. For instance, where aRSA digital signature scheme is used to sign a biometric referencetemplate, a key is used to encrypt the hash to form the digitalsignature. Furthermore, in an embodiment, the signed biometric referencetemplate is stored along with the digital signature in a database, forinstance, database 120. However, the signed biometric reference templateand the digital signature may be stored separately within the computersystem 100, as shown. Furthermore, the digital signature may be detachedfrom the biometric reference template (as shown by reference numeral148) or may be attached or coupled to the biometric reference template.The use of digital signatures to sign objects to be authenticated iswell known in the art and, as such, will not be discussed furtherherein. It should be understood, however, that although not shown, otherhardware and software components (e.g., additional computer systems,routers, firewalls, etc.) could be included in infrastructure 100.

Reference is now made to FIGS. 2 and 3, which show respective blockdiagrams depicting aspects of a computer system having a biometricapplication for generating a reference template revocation object thatis injected into a respective security token device for use in checkingthe revocation status of a biometric reference template. In particular,FIG. 2, reference numeral 200, depicts one embodiment of a referencetemplate revocation object 220 created by the computer system 200 havingdeployed thereon a revocation status tool for use in checking therevocation status of a biometric reference template, whereas, FIG. 3,reference numeral 300, depicts another embodiment of a referencetemplate revocation object for use in checking the revocation status ofa biometric reference template, in accordance with respectiveembodiments of the present invention. As such, components in FIG. 3 thatare the same components as shown in FIG. 2 are labeled with the samereference numerals. Referring to FIGS. 2 and 3, the biometric referencetemplate 202 that is created using a user or individual's biometricsample collected (as discussed herein above with respect to FIG. 1) isassigned a unique biometric reference template identifier 204 andfurther contains the base biometric data 206 processed from thebiometric sample using the biometric application 106. Further, in anembodiment, a biometric reference template issuer or proxy uses thebiometric reference template 202 as input into a revocation status tool210 deployed within the biometric system 200. The revocation status tool210 creates or generates the respective reference template revocationobjects 220 and 320 (shown in FIGS. 2 and 3, respectively) for use inchecking the revocation status of the biometric reference template 202.The reference template revocation objects 220 and 320 that are createdfor use in checking revocation status of the biometric referencetemplate 202 are separate from the biometric reference template 202. Inan embodiment, as shown in FIG. 2, the reference template revocationobject 220 contains information in plaintext (reference numeral 222),namely, data1 (reference numeral 224) and information in ciphertext(reference numeral 226) that contains data2, reference numeral 228. Asused herein, the term “plaintext” refers to information that is in plaintext, whereas, “ciphertext” refers to plaintext that is encrypted, asexplained further herein below with respect to FIG. 4. Additionally, inthe embodiment shown in FIG. 3, the reference template revocation object320 contains information in plaintext 222 and information in ciphertext326, similar to FIG. 2, but in addition to the ciphertext 326 containingdata2 (reference numeral 228 as shown in FIG. 2), the embodiment shownin FIG. 3, includes a random value or a nonce 328. A nonce is typicallyan unpredictable value that changes with time and, as such, is used onlyonce, for instance, when encrypting data, such that, a differentciphertext value is obtained each time the data is encrypted. In anembodiment, the random value or nonce 328 comprises a time and datevalue of the current time and date. In another embodiment, the randomvalue or nonce 328 comprises a large random number, such as, a 20-byterandom value that is used to scramble the plaintext 228 ciphered by therevocation status tool within the biometric system, using an encryptionalgorithm. Further, in an embodiment, as shown in FIG. 2, the referencetemplate revocation object 220 is stored in a database 215 as referencenumeral 216. Similarly, as shown in FIG. 3, the reference templaterevocation object 320 is stored in a database 215 as reference numeral217. Moreover, in an embodiment, the reference template revocationobject 220 is injected into a security token device 230 (FIG. 2), and inan embodiment, the reference template revocation object is signed(reference numeral 232). Similarly, in an embodiment, the referencetemplate revocation object 320 is injected into a security token device330 (FIG. 3), and in an embodiment the reference template revocationobject is signed (reference numeral 332). Further, in an embodiment, thebiometric reference template 202 is also injected into the respectivesecurity token devices 230 and 330.

Reference is now made to FIGS. 4A and 4B, reference numeral 400A and400B, which depict respective block diagrams of an embodiment of areference template revocation object injected into a security tokendevice issued to an individual or user by a biometric reference templateprovider or issuer for facilitating the process of checking therevocation status of a biometric reference template, in accordance withan embodiment of the present invention. In particular, FIG. 4A,reference numeral 400A, depicts one embodiment of a reference templaterevocation object 402A created by the biometric system 200 for use inchecking the revocation status of a biometric reference template,whereas, FIG. 4B, reference numeral 400B, depicts another embodiment ofa reference template revocation object 402B for use in checking therevocation status of a biometric reference template, in accordance withrespective embodiments of the present invention.

As such, components in FIG. 4B that are the same components as shown inFIG. 4B are labeled with the same reference numerals. Turning to FIG.4A, the reference template revocation object 402A contains plaintextdata1 (reference numeral 404) and plaintext data 2 (reference numeral406), which contains plaintext data2 that is to be ciphered. In anembodiment, the information or data1 in plaintext 404 provides thelocation, for instance, a URI (Uniform Resource Identifier) for use inchecking the revocation status of a biometric reference template. In anembodiment, the information or data2 contained in plaintext 406 includesa unique biometric reference template identifier 408 that uniquelyidentifies the biometric reference template, and further, theinformation or data2 that is to be ciphered includes a hash value 410computed over the biometric reference template. In particular, the hashvalue is computed over the entire biometric reference template whoserevocation status is to be checked using the reference templaterevocation object 402A, such that, a digital signature can be used todetect if any of the biometric reference template information has beentampered with. Further, as shown in FIG. 4A, the reference templaterevocation object 402A is injected into a security token device 420A,which in an embodiment is a portable token device that is issued to anindividual or person corresponding to the biometric reference templatewhose revocation status is to be checked. Furthermore, in an embodiment,the security token device 420A includes an encryption key 424 forencrypting or enciphering the plaintext 406 and includes a signature key426 for signing the reference template revocation object 402A.Additionally, in an embodiment, a set or pool of random values or nonces427 are injected into the security token device 420A, where the securitytoken device 420A cycles through the pool of random values 427 forscrambling the encryption value of the plaintext 406, such that adifferent encryption value is generated each time, which prevents theindividual from being tracked by a constant encrypted value. Referringto FIG. 4B, the reference template revocation object 402B, containsplaintext information or data1 (reference numeral 404) and plaintextinformation or data 2 (reference numeral 407). In an embodiment, theinformation in plaintext data1 404 in FIG. 4B provides the location, forinstance, a URI (Uniform Resource Identifier) for use in checking therevocation status of a biometric reference template. Further, in anembodiment, shown in FIG. 4B, the plaintext data2 (reference numeral407) includes a unique biometric reference template identifier 408 and ahash value 410 computed over the biometric reference template. Again,the reference template revocation object 402B is injected into asecurity token device 420B, such as, a portable token device that isissued to an individual or person corresponding to the biometricreference template whose revocation status is to be checked. Further, inan embodiment, the security token device 420B includes an encryption key424 for encrypting or ciphering the plaintext data2 407 and alsoincludes a signature key 426 for digitally signing the referencetemplate revocation object 402B. Further, the security token device 420Bincludes a random value or nonce generation tool or engine 428 forgenerating a random value or nonce that is added to the plaintext data2that is ciphered to create ciphertext from plaintext data2, such that,the encryption or cipher value of the ciphertext is not static, butchanges each time the plaintext is ciphered. As such, the biometricreference template provider or issuer can inject into a security tokendevice 420B containing the reference template revocation object and canplace all of the elements needed to check the revocation status of abiometric reference template on the security token device (such as,420B) that is issued to the individual corresponding to the biometricreference template. Thus, the holder of the token device 420B uses therandom value generation tool 428 to add a different random value ornonce to the plaintext data2 each time the individual provides thereference template revocation object to an entity who wishes to checkthe revocation status of an individual's biometric reference template.The holder can cipher or encrypt the plaintext along with the randomvalue or nonce and can sign the reference template revocation object andhand or transmit the reference template revocation object to the relyingparty.

In another embodiment, the invention provides a method for generating areference template revocation object for use in checking the revocationstatus of a biometric reference template, in accordance with anembodiment of the present invention. Reference is now made to FIGS. 5through 7, which together outline the steps for generating a referencetemplate revocation object for use in checking the revocation status ofa biometric reference template. Turning to FIG. 5, reference numeral500, depicts a flowchart outlining the steps for generating a basebiometric reference template or simply biometric reference templateusing a biometric sample collected from a user or individual inaccordance with an embodiment of the invention. Referring to FIG. 5, theprocess begins with a biometric application within a biometric reader orscanner device collecting in step 502 a biometric sample from anindividual to create a base biometric reference template within thebiometric system. In step 504, a unique biometric reference templateidentifier is assigned to the base biometric reference template beingcreated and the biometric reference template is created in step 506using the biometric sample collected from the individual and the uniquebiometric reference template identifier. In step 508, a determination ismade by the biometric application as to whether or not to sign the basebiometric reference template created. If the biometric referencetemplate is to be signed, then the biometric reference template issigned in step 510 using a digital signature. Further, in an embodiment,the signature for the biometric reference template is stored in adatabase in step 511. Furthermore, the base biometric reference templateis stored in a database in step 512 within the biometric system, endingthe process. In an embodiment, the signature is appended to thebiometric reference template and is stored in a database within thebiometric system. Further, in an embodiment, the signature is coupled orassociated with the biometric reference template and is stored in adatabase. In another embodiment, the signature is detached from thebiometric reference template and is stored separately along with thebiometric reference template in a database within the biometric system,ending the process. However, going back to step 508, if a determinationis made that the base biometric reference template is not to be signed,then the base biometric reference template is stored in a database instep 512 within the biometric system, ending the process.

Turning to FIG. 6, reference numeral 600 depicts a flowchart outliningthe steps for creating a signed reference template revocation object foruse in checking the revocation status of a biometric reference template,in accordance with an embodiment of the present invention. Referring toFIG. 6, the process beings with a biometric service provider orbiometric reference template issuer creating, in step 602, a referencetemplate revocation object for a biometric reference template, which isseparate from the biometric reference template. In an embodiment, thebiometric reference template issuer creates the reference templaterevocation object that is separate from the biometric referencetemplate, using a revocation status tool provided by a biometricapplication for a biometric system. In step 604, the template issuerspecifies in the reference template revocation object data1 in plaintextthat identifies location information for use in checking revocationstatus of a biometric reference template. Further, in step 606, thetemplate issuer specifies in the reference template revocation objectdata2 in plaintext that identifies the unique biometric referencetemplate identifier corresponding to the biometric reference templatecreated and specifies the hash of the biometric reference template.Further, in an embodiment, in step 608, a random value or nonce is addedto the plaintext data2, namely the data identifying the biometricreference template identifier corresponding to the biometric referencetemplate and the hash value of the biometric reference template. In step610, the revocation status tool ciphers the plaintext data2, whichincludes the random value or nonce to generate ciphertext containing thebiometric reference template identifier and the hash value of thebiometric reference template. Furthermore, in step 612 the biometricreference template issuer signs the reference template revocation objectcontaining the ciphertext data, ending the process. In an embodiment,the entire reference template revocation object is signed by thetemplate issuer and the signed reference template revocation object isstored in a database within the biometric system. In another embodiment,steps 608, 610 and 612 are performed on a security token after theissuer has inserted the components of a reference template revocationobject, a set of random values, an encryption key, and a signature keyinto the security token device. This allows the token holder to createand present a newly formed and unique reference template revocationobject each time the reference template revocation object is presentedto a relying party.

Reference is now made to FIG. 7, reference numeral 700, which depicts aflowchart outlining the steps checking the revocation status of abiometric reference template, using a reference template revocationobject created for the biometric reference template, in accordance withan embodiment of the present invention. The process begins in step 702with an individual or security token device holder (referred to as“token holder”) receiving a request from a relying party to check therevocation status of a biometric reference template corresponding to thetemplate holder or individual. In step 704, the token holder uses thesecurity token device to create a new reference template revocationobject, signs the reference template revocation object and provides thereference template revocation object to the relying party. In step 705,the revocation status tool validates the signature on the referencetemplate revocation object. Further, in step 706, the revocation statustool within a biometric system accesses the location provided in data1in plaintext of the reference template revocation object for use inchecking the revocation status of the biometric reference template. Therevocation status tool sends the ciphertext data2 in the referencetemplate revocation object to a revocation status provider within thebiometric system in step 708. Further, in step 710, the revocationstatus provider deciphers the ciphertext data2 received, using acryptographic key known only to the status provider and to theindividual corresponding to the reference template revocation object. Instep 712, the status provider checks the revocation status of thebiometric reference template identified using the plaintext recoveredfrom the ciphertext in data2, and sends the results of the revocationstatus check of the biometric reference template to the requester instep 714, without identifying any information pertaining to thebiometric reference template belonging to the individual and, by proxy,the individual, ending the process.

Reference is now made to FIGS. 8A-8C, reference numerals 800A-800C,which together depict an embodiment for defining a reference templaterevocation object using ASN.1, in accordance with an embodiment of thepresent invention. As shown in FIG. 8A, reference numeral 800A, a valueof type TemplateRevocationObject (reference numeral 802) would beencoded then input to a digital signature process and signed. This canbe as a simple digital signature over the value, a signature using theCryptographic Message Syntax (CMS) type SignedData, as a SecurityAssertion Markup Language (SAML) assertion, by use of the XML AccessControl Markup Language (XACML), or by using some other syntax andsignature process. The templateID component (reference numeral 804) oftype TemplateRevocationObject (reference numeral 802) comprises aUniform Resource Identifier (URI) that can be used to locate or identifya resource over a network, such as, the World Wide Web. This valueprovides a relying party the location where the revocation status of abiometric reference template can be checked. In an embodiment, the URIcomprises a query string whose format is as follows:

?valuewhere the “value” is a value of type TemplateRevocationObject encodedusing the canonical version of the ASN.1 XML Encoding Rules (XER).Further, the privateIdentifiers component (reference numeral 806) oftype TemplateRevocationObject (reference numeral 802) comprises a valueof CMS type NamedKeyEncryptedData. In an embodiment, a value of thistype contains the private information that uniquely identifies thebiometric reference template, and by association, the subject or holderof the template. In an embodiment, in the type NamedKeyEncryptedData(reference numeral 810) in FIG. 8B, reference numeral 800B, version(reference numeral 812) comprises the integer version of theNamedKeyEncryptedData syntax. Further, keyName (reference numeral 814)comprises the name of a symmetric key used to encrypt and decrypt theinformation in the encryptedContentInfo component (reference numeral816) contains the encrypted content and the encryption algorithm namethat can be used to recover the unique biometric reference templateidentifier and the hash of the biometric reference template. Further,the component unprotectedAttrs (reference numeral 818) are an optionalset of unprotected attributes that may be defined in the referencetemplate revocation object. Further, the content that is encrypted,namely data2, comprises a value of type PrivateData, which can bedefined as shown in FIG. 8C, reference numeral 800C. The content to beencrypted in the privateIdentifiers component (reference numeral 806) oftype TemplateRevocationObject (reference numeral 802) and carried in theencryptedContentInfo component (reference numeral 816) of typeNamedKeyEncryptedData (reference numeral 810) comprises a value of typePrivateData (reference numeral 820 in FIG. 8C, reference numeral 800C).The value of type PrivateData (reference numeral 820) contains incomponent templateID (reference numeral 822), the unique biometricreference template identifier assigned by the template issuer. Further,the nonce component (reference numeral 824) comprises a random valuethat is added to the content that is encrypted on each use. Furthermore,the templateHash component (reference numeral 826) of type PrivateDatacontains the hash of the template and the name of the algorithm used tocreate the hash. This hash is the same value that would be signed if thebiometric reference template is signed when the reference template isissued by the template issuer. Once these values have been recovered,the given UUID can be used to identify and locate the biometricreference template whose revocation status is to be checked. Therecovered hash can be used to ensure that the UUID identifies thecorrect reference template and that this reference template has not beenmodified. Finally, the revocation status can be checked and the resultsof checking returned to the status requester or relying party.

Accordingly, the invention provides a system, method and a programproduct for generating a reference template revocation object for use inchecking the revocation status of a biometric reference template, asdescribed herein above. Rather than having the template issuer sign aremote status service attribute containing information on how to checkthe revocation status of the template while signing the template (asdescribed in X9.84), a separate signed object, a template revocationobject, is created by the template issuer or their proxy. The templaterevocation object contains clear text (not encrypted) information on thelocation a relying party can use to check the revocation status of thereference template, while protecting all information that can be used toidentify the template holder. Further, the reference template revocationobject also contains the cipher text (encrypted) of the UUID thatuniquely identifies the reference template and the unique cryptographichash of the reference template. This ciphertext is encrypted using anamed cryptographic key chosen by and known only to the template issueror the object signer. Further, a template revocation object can becreated by the issuer of a biometric reference template or their proxy.This signed object is separate from the template, which itself may besigned. This separate signed object contains information on the locationa relying party should use to check the revocation status of theassociated template, and encrypted private information that includes theUUID assigned by the template issuer to uniquely identify the template,and the cryptographic hash of the template. Once recovered, theencrypted private information can be used to identify and determine therevocation status of a given template without revealing any identifierof the template holder.

The foregoing descriptions of specific embodiments of the presentinvention have been presented for the purpose of illustration anddescription. They are not intended to be exhaustive or to limit theinvention to the precise forms disclosed, and many modifications andvariations are possible in light of the above teaching. The embodimentswere chosen and described in order to best explain the principles of theinvention and its practical application, to thereby enable othersskilled in the art to best utilize the invention and various embodimentswith various modifications as are suited to the particular usecontemplated. It is intended that the scope of the invention be definedby the claims appended hereto and their equivalents.

1. A method for checking a revocation status of a biometric referencetemplate previously generated for an individual, said method comprising:computing, by a processor of a computer system, a hash value of thebiometric reference template; said processor creating a referencetemplate revocation object for the biometric reference template, saidcreating comprising inserting into the reference template revocationobject: (i) a location for checking the revocation status of thebiometric reference template and (ii) a unique biometric referencetemplate identifier that uniquely identifies the biometric referencetemplate; said processor ascertaining the revocation status of thebiometric reference template through use of the reference templaterevocation object; and said processor returning the ascertainedrevocation status of the biometric reference template to a relying partythat had requested the status of the biometric reference template. 2.The method of claim 1, said ascertaining comprising: retrieving thebiometric reference template, identified by the obtained identifier, atthe obtained location; and determining the revocation status based onwhether the biometric reference template retrieved at the obtainedlocation differs from the biometric reference template from which theobtained hashed value was computed.
 3. The method of claim 2, saidcreating further comprising inserting the computed hash value into thereference template revocation object; and said ascertaining furthercomprising obtaining the hash value from the reference templaterevocation object.
 4. The method of claim 3, said method furthercomprising: said processor inserting into the reference templaterevocation object a random value for encrypting plaintext datacomprising both the identifier and the computed hash value, saidplaintext data being contained in the reference template revocationobject.
 5. The method of claim 4, said method further comprising: saidprocessor encrypting the plaintext data in the reference templaterevocation object.
 6. The method of claim 4, said method furthercomprising: said processor injecting the reference template revocationobject into a security token device issued to the individual; saidprocessor inserting into the security token device an encryption key forperforming said encrypting; and said processor inserting into thesecurity token device a signature key for signing the reference templaterevocation object.
 7. The method of claim 1, said method furthercomprising: said processor receiving, from the relying party, a requestfor the revocation status of the biometric reference template; and aftersaid receiving the request and prior to said ascertaining, saidprocessor sending the reference template revocation object to therelying party.
 8. The method of claim 1, wherein said ascertaining isperformed without revealing an identity of the individual.
 9. The methodof claim 1, wherein said returning is performed without revealing anidentity of the individual.
 10. A computer program product, comprising acomputer readable hardware storage device having a computer readableprogram code stored therein, said program code containing instructionsconfigured to be executed by a processor of a computer system toimplement a method for checking a revocation status of a biometricreference template previously generated for an individual, said methodcomprising: said processor computing a hash value of the biometricreference template; said processor creating a reference templaterevocation object for the biometric reference template, said creatingcomprising inserting into the reference template revocation object: (i)a location for checking the revocation status of the biometric referencetemplate and (ii) a unique biometric reference template identifier thatuniquely identifies the biometric reference template; said processorascertaining the revocation status of the biometric reference templatethrough use of the reference template revocation object; and saidprocessor returning the ascertained revocation status of the biometricreference template to a relying party that had requested the status ofthe biometric reference template.
 11. The computer program product ofclaim 10, said ascertaining comprising: retrieving the biometricreference template, identified by the obtained identifier, at theobtained location; and determining the revocation status based onwhether the biometric reference template retrieved at the obtainedlocation differs from the biometric reference template from which theobtained hashed value was computed.
 12. The computer program product ofclaim 11, said creating further comprising inserting the computed hashvalue into the reference template revocation object; and saidascertaining further comprising obtaining the hash value from thereference template revocation object.
 13. A computer system comprising aprocessor, a memory coupled to the processor, and a computer readablestorage device coupled to the processor, said storage device containingprogram code configured to be executed by the processor via the memoryto implement a method for checking a revocation status of a biometricreference template previously generated for an individual, said methodcomprising: said processor computing a hash value of the biometricreference template; said processor creating a reference templaterevocation object for the biometric reference template, said creatingcomprising inserting into the reference template revocation object: (i)a location for checking the revocation status of the biometric referencetemplate and (ii) a unique biometric reference template identifier thatuniquely identifies the biometric reference template; said processorascertaining the revocation status of the biometric reference templatethrough use of the reference template revocation object; and saidprocessor returning the ascertained revocation status of the biometricreference template to a relying party that had requested the status ofthe biometric reference template.
 14. The computer system of claim 31,said ascertaining comprising: retrieving the biometric referencetemplate, identified by the obtained identifier, at the obtainedlocation; and determining the revocation status based on whether thebiometric reference template retrieved at the obtained location differsfrom the biometric reference template from which the obtained hashedvalue was computed.
 15. The computer system of claim 14, said creatingfurther comprising inserting the computed hash value into the referencetemplate revocation object; and said ascertaining further comprisingobtaining the hash value from the reference template revocation object.16. A process for deploying computer infrastructure, said processcomprising computer-readable code in a computer system, wherein the codein combination with the computer system is configured to perform amethod for checking a revocation status of a biometric referencetemplate previously generated for an individual, said method comprising:computing, by a processor of the computer system, a hash value of thebiometric reference template; said processor creating a referencetemplate revocation object for the biometric reference template, saidcreating comprising inserting into the reference template revocationobject: (i) a location for checking the revocation status of thebiometric reference template and (ii) a unique biometric referencetemplate identifier that uniquely identifies the biometric referencetemplate; said processor ascertaining the revocation status of thebiometric reference template through use of the reference templaterevocation object; and said processor returning the ascertainedrevocation status of the biometric reference template to a relying partythat had requested the status of the biometric reference template. 17.The process of claim 17, said ascertaining comprising: retrieving thebiometric reference template, identified by the obtained identifier, atthe obtained location; and determining the revocation status based onwhether the biometric reference template retrieved at the obtainedlocation differs from the biometric reference template from which theobtained hashed value was computed.
 18. The process of claim 17, saidcreating further comprising inserting the computed hash value into thereference template revocation object; and said ascertaining furthercomprising obtaining the hash value from the reference templaterevocation object.